import com.github.davidfantasy.mybatisplus.generatorui.GeneratorConfig;
import com.github.davidfantasy.mybatisplus.generatorui.MybatisPlusToolsApplication;
import com.github.davidfantasy.mybatisplus.generatorui.mbp.NameConverter;

/**
 * @author xiaotao
 */
public class GeberatorUIServer {
  public static void main(String[] args) {
      GeneratorConfig config = GeneratorConfig.builder().jdbcUrl("jdbc:postgresql://10.10.10.102:5432/must")
              .userName("root")
              .password("3344520ll")
              .driverClassName("org.postgresql.Driver")
              //数据库schema，POSTGRE_SQL,ORACLE,DB2类型的数据库需要指定
              .tablePrefix("iot_")
              .schemaName("iot")
              //如果需要修改entity及其属性的命名规则，以及自定义各类生成文件的命名规则，可自定义一个NameConverter实例，覆盖相应的名称转换方法，详细可查看该接口的说明：
              .nameConverter(new NameConverter() {
                  /**
                   * 自定义Service类文件的名称规则，entityName是NameConverter.entityNameConvert处理表名后的返回结果，如有特别的需求可以自定义实现
                   */
                  @Override
                  public String serviceNameConvert(String entityName) {
                      return entityName + "Service";
                  }

                  /**
                   * 自定义Controller类文件的名称规则
                   */
                  @Override
                  public String controllerNameConvert(String entityName) {
                      return entityName + "Controller";
                  }

              })
              //所有生成的java文件的父包名，后续也可单独在界面上设置
               .basePackage("com.xiaotao.boot.admin")
              .port(8068)
              .build();
      MybatisPlusToolsApplication.run(config);
  }
}
